package com.cmy.baseGrammar;
public class TypOfData {
    public static void main(String[] args) {
        //整数
        byte num1 = 10;
        int num2 = 20;
        short num3 = 30;
        long num4 = 40L;//long类型 数字后+L

        //整数扩展    进制    二进制0b   十进制     八进制0     十六进制0x
        int i = 10;          //十进制=10
        int b = 0b1000;      //十进制=9 2^3+1
        int e = 0101;        //十进制=65 8^2+1
        int x = 0x1001;      //十进制=4097 16^3+1
        System.out.println(i);
        System.out.println(b);
        System.out.println(e);
        System.out.println(x);
        System.out.println("----------以上为整数部分---------");

        //小数,浮点数
        float num5 = 50.2F;//float类型 数字后+F
        double num6 = 3.1415926;

        //小数扩展 小数存在舍入,一些小数是无法精确表示的 最好避免浮点数的比较
        /*
        那银行的业务如何保证精确? BigDecimal 数学工具类
        */
        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);//false!!!

        float d1 = 235464564163541f;
        float d2 = d1+1;
        System.out.println(d1==d2);//true!!!

        System.out.println("---------以上为浮点数部分----------");

        //字符
        char name = '中';
        //字符串 不是关键字,是类
        //String names = "hello void"


        //字符扩展 所有的字符本质还是数字 编码映射
        char c1 = 'a';
        char c2 = '国';
        System.out.println(c1);
        System.out.println((int)c1);//强制类型转化 97
        System.out.println(c1);
        System.out.println((int)c2);//22269

        //布尔 是/否
        boolean flag = true;
        boolean flag2 = false;


    }
}

    